package com.ruoyi.routineItem.mapper;

import com.ruoyi.routineItem.domain.Item;
import com.ruoyi.vo.SelectTechnicianListResponseVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * 服务项目Mapper接口
 *
 * @author ruoyi
 * @date 2025-04-07
 */
public interface ItemMapper {
    /**
     * 查询服务项目
     *
     * @param id 服务项目主键
     * @return 服务项目
     */
    public Item selectItemById(Long id);

    /**
     * 查询服务项目列表
     *
     * @param item 服务项目
     * @return 服务项目集合
     */
    public List<Item> selectItemList(Item item);

    /**
     * 新增服务项目
     *
     * @param item 服务项目
     * @return 结果
     */
    public int insertItem(Item item);

    /**
     * 修改服务项目
     *
     * @param item 服务项目
     * @return 结果
     */
    public int updateItem(Item item);

    /**
     * 删除服务项目
     *
     * @param id 服务项目主键
     * @return 结果
     */
    public int deleteItemById(Long id);

    /**
     * 批量删除服务项目
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteItemByIds(Long[] ids);

    Integer addTechnician(@Param("itemId") Long itemId, @Param("tids") String tids);

    @Update("update t_item set tid = #{tids} where id = #{itemId}")
    Integer updateTechnician(@Param("itemId") Long itemId, @Param("tids") String tids);

    List<SelectTechnicianListResponseVo> selectTechnicianList(@Param("keyWord")  String keyWord,@Param("tids") List<Long> tids);

    @Select("select id from t_technician where is_delete = 0")
    List<Long> selectAllTid();

    List<SelectTechnicianListResponseVo> selectTechnician(@Param("tids") List<Long> tids);
}
